<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@include file="/pages/common.jsp" %>
<%@page import="com.mes.entity.tdd.Staff"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>采购计划</title>

<script type="text/javascript">
$(function () {
    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
	//初始化提示框的位置：top-center，bottom-left，bottom-right
    toastr.options.positionClass = 'toast-top-center';
    $('#porderid').change(function () {
    	$("#porderid option[value='0']").remove(); //删除Select中Value='3'的Option 
    	//必须执行，否则数据添加失败
        $('#porderid').selectpicker('refresh'); 
        //$('#porderid').selectpicker('render'); 
    	$('#tb_departments1').bootstrapTable('refresh');
    });
    var prid = $.trim($('#prid').val());
   	if("" != prid && null != prid){
	    document.getElementById("supplierid").disabled=true; 
		document.getElementById("porderid").disabled=true;
	    $('#tb_departments1').bootstrapTable('showColumn', 'pmbatchnumber');
      	$('#tb_departments1').bootstrapTable('showColumn', 'number');
      	$('#tb_departments1').bootstrapTable('showColumn', 'barcode');
      	 
        $('#tb_departments1').bootstrapTable('hideColumn', 'count');
        $('#tb_departments1').bootstrapTable('hideColumn', 'total');
   	}else{
   		$('#tb_departments1').bootstrapTable('hideColumn', 'pmbatchnumber');
  	 	$('#tb_departments1').bootstrapTable('hideColumn', 'number');
  	 	$('#tb_departments1').bootstrapTable('hideColumn', 'barcode');
  	 	$("#prnum").val("cg"+CurentTime());
  	 	$("#prdate").val(CurentTime1());
  	 	$("#making").val($('#ii').val());
   	}
});

//获取当前时间
function CurentTime() {
	 
	var now=new Date();
	var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日
 	var hours = now.getHours(); //获取当前小时数(0-23)
  	var minutes = now.getMinutes(); //获取当前分钟数(0-59)
  	var seconds = now.getSeconds(); //获取当前秒数(0-59)
    //var mill=now.getMilliseconds();
    var time=year+""+add0(month)+""+add0(day)+""+add0(hours)+""+add0(minutes)+""+add0(seconds);
	 
	 return time;
}

//获取当前时间
function CurentTime1() {
	 
	 var now=new Date();
	 var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日
 	var hours = now.getHours(); //获取当前小时数(0-23)
  	var minutes = now.getMinutes(); //获取当前分钟数(0-59)
  	var seconds = now.getSeconds(); //获取当前秒数(0-59)
    //var mill=now.getMilliseconds();
    var time=year+"-"+add0(month)+"-"+add0(day);
	return time;
}
function add0(m){return m<10?'0'+m:m }
var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
    	var url= null;
        var prid = $.trim($('#prid').val());
       	if("" != prid && null != prid){
       		url='${pageContext.request.contextPath }/procurementRukuMateriel/list.do';
       	}else {
      		url = '${pageContext.request.contextPath }/others/oderMlist.do';
       	};
        $('#tb_departments1').bootstrapTable({
            url: url,         //请求后台的URL（*）
            showExport: false, //是否显示导出
            exportDataType: "basic", //basic', 'all', 'selected'.
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar1',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 30],       //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "pmid",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                checkbox: true
     		}, {
                field: 'pmid',
                title: 'id',
                visible: false 
             }, {
                 field: 'id',
                 title: 'id',
                  visible: false 
             }, {
                 field: 'materiel.name',
                 title: '物料名称'
             }, {
                 field: 'materiel.materialmodel',
                 title: '型号'
             }, {
                 field: 'count',
                 title: '订单数量',
                 formatter:function(value,row,index){
 	                  if(value=='' || value == null){return null;} 
 	       			  else{return value;}                       
 	     		}, 
             }, {
                 field: 'pmbatchnumber',
                 title: '批号',
                 editable:{
                	    type:'text',
                 	validate:function(v){
                 		if (!v) return '批号不能为空';
                 	}
                 } 
             }, {
                 field: 'number',
                 title: '到货数量',
                 formatter:function(value,row,index){
 	                  if(value=='' || value == null){return null;} 
 	       			  else{return value;}                       
 	     		}, 
                 editable:{
              	      type:'text',
 	              	  validate:function(v){
 	              		   if (!v) return '到货数量不能为空';
 	              		   if (isNaN(v)) return '到货数量是数字';
 	              	  }
                 } 
             }, {
                 field: 'barcode',
                 title: '条形码',
               	 editable:{
                  	type:'text',
                   	validate:function(v){
                   		if (!v)	return '条形码不能为空';
                   	}
                 }
             }, {
                 field: 'materiel.remark3',
                 title: '金额',
                 formatter:function(value,row,index){
	                  if(row.count!='' && row.count != null){return row.materiel.remark3 * row.count;}
	                  else  if(row.pmid!='' && row.pmid != null){return row.materiel.remark3 * row.number;}
	       			  else{return 0;}                       
	     		}, 
             }],
            
            onEditableSave: function (field, row, oldValue, $el) {
	        	/* 如果提交之后的文本内容过多，表格的thead里面th的宽度和tbody里面td的宽度不对其的问题 */
	        	 $('#tb_departments1').bootstrapTable('resetView');  
	        	 var prid = $.trim($('#prid').val());
        	   	if("" == prid || null == prid){
        			toastr.warning('请保存订单!');
        			setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
    					$('#tb_departments1').bootstrapTable('refresh'); 
    				},2000);
        	   	}else{
        	   	//询问框
    	     		Ewin.confirm({ message: "确认修改此数据吗？" }).on(function (e) {
    	     	       if (!e) {
    	     	         return;
    	     	       } 
    	     	      $.ajax({
    		                type: "post",
    		                url: "${pageContext.request.contextPath }/procurementRukuMateriel/update.do",
    		                data:"pmid="+row.pmid
    		                +"&pmbatchnumber="+row.pmbatchnumber
    		                +"&number="+row.number
    		                +"&barcode="+row.barcode	
    		                ,
    		                dataType: 'JSON',
    		                success: function (data) {
    	                	 	if (data = 1) {
    		                    	toastr.success('保存成功');
    		        				setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
    		        					$('#tb_departments1').bootstrapTable('refresh'); 
    		        				},2000);
    							}else if(data = 2){
    								toastr.warning('该退货单已删除');
    								setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
    		        					$('#tb_departments1').bootstrapTable('refresh'); 
    		        				},2000);
    							}else{
    								toastr.error('保存失败');
    								setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
    		        					$('#tb_departments1').bootstrapTable('refresh'); 
    		        				},2000);
    							}
    		                },
    		                error: function () {
    		                	toastr.warning('编辑失败!');
    		                },
    		            });
    	     		}); 
        	   	}
	        	
	        },
        });
        
    };
    


    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            id:$.trim($('#porderid').val()), 
	        prid:$.trim($('#prid').val()), 
        };
        return temp;
    };
    return oTableInit;
};







var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};




function doDelete() {
	var prid = $.trim($('#prid').val());
   	if("" == prid || null == prid){
		toastr.warning('请保存订单!');
		setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
			$('#tb_departments1').bootstrapTable('refresh'); 
		},2000);
   	}else {
		var row=$.map($("#tb_departments1").bootstrapTable('getSelections'),function(row){
			return row ;
		});
		if (row.length == 0) {
			toastr.warning('请至少选择一条数据!');
		}else{
			var ids="";
			for(var i=0;i<row.length;i++){
				if(i==0 || i=="0"){
					ids+=row[i].pmid;
				}else{
					ids+=","+row[i].pmid;
				}
			}
			
			//询问框
			Ewin.confirm({ message: "确认要删除选择的数据吗？" }).on(function (e) {
		       if (!e) {
		         return;
		       } 
		    	var url = "${pageContext.request.contextPath }/procurementRukuMateriel/delete.do";
			    $.post(url, "ids="+ids, function(data) {
					if (data == 1) {
						toastr.success('删除成功');
						setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
							$('#tb_departments1').bootstrapTable('refresh'); 
						},2000);
					} else if (data == 2) {
						toastr.warning('该信息已删除!');
						setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
							$('#tb_departments1').bootstrapTable('refresh'); 
						},2000); 
					} else {
						toastr.error('删除失败');
						setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
							$('#tb_departments1').bootstrapTable('refresh'); 
						},2000);
					}
				}); 
		    }); 
		}
   	}
}
</script>
</head>
<body>
	<%
		Staff staff = (Staff)session.getAttribute("staff");
		String d = "管理员";
	 	if(staff != null){
	 		d = String.valueOf(staff.getStaffname());

	 	}
	%>
	<input type="hidden" id="ii" value="<%=d%>">
	<div class="panel-body" style="padding-bottom:0px;">
		<button id="btn_add" type="button" class="btn btn-default" onclick="save()">
            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>保存
        </button>
        <script type="text/javascript">
	        function save() {
	        	var bootstrapValidator = $("#fm").data('bootstrapValidator');  
        	    //开启验证
        	    bootstrapValidator.validate();  
        	    if (!bootstrapValidator.isValid()){
        	    	return;
        	    }
	        	var url= null;
	            var prid = $.trim($('#prid').val());
	            
	           	if("" != prid && null != prid){
	           		url="${pageContext.request.contextPath }/procurementRuku/save.do";
	           	}else {
	          		url ="${pageContext.request.contextPath }/procurementRuku/add.do";
	           	};
	           	var making = $.trim($('#making').val());
	           	var porderid = $.trim($('#porderid').val());
	           	var prdate = $.trim($('#prdate').val());
	           	var prnum = $.trim($('#prnum').val());
	           	var supplierid = $.trim($('#supplierid').val());
	           	
	        	$.ajax({
	                type: "post",
	                url: url,
	                data:"prid="+prid+"&"+"making="+making+"&"+"porderid="+porderid+"&"+"prdate="+prdate+"&"+"prnum="+prnum+"&"+"supplierid="+supplierid,
	                /* $("#fm").serialize(), */
	                dataType: 'JSON',
	                success: function (data) {
	                    if (data.success == 1) {
	                    	toastr.success('保存成功');
	        				setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
	        					if (null != data.prid && "" !=data.prid) {
		        					$("#prid").val(data.prid);
								} 
	        					$('#tb_departments1').bootstrapTable('refresh',{  
	        		                  url:"${pageContext.request.contextPath }/procurementRukuMateriel/list.do"
	        		              } ); 
	        					document.getElementById("supplierid").disabled=true; 
	        					document.getElementById("porderid").disabled=true;
	        					$('#tb_departments1').bootstrapTable('showColumn', 'pmbatchnumber');
        				      	$('#tb_departments1').bootstrapTable('showColumn', 'number');
        				      	$('#tb_departments1').bootstrapTable('showColumn', 'barcode');
        				      	 
        				        $('#tb_departments1').bootstrapTable('hideColumn', 'count');
        				        $('#tb_departments1').bootstrapTable('hideColumn', 'total');
	        				},2000);
						}else if(data.success == -1){
							toastr.warning('该到货单号已存在');
						}else if(data.success == 2){
							toastr.warning('该到货单号不存在');
						}else{
							toastr.error('保存失败');
						}
	                },
	                error: function () {
	                	toastr.warning('编辑失败!');
	                },
	            });
	        }
        </script>
        <!-- <button id="btn_edit" type="button" class="btn btn-default" onclick="doView()">
       		 <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
        </button> -->
        <button id="btn_delete" type="button" class="btn btn-default" onclick="doDelete()">
            <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
        </button>
        <button id="btn_back" type="button" class="btn btn-defaul" onclick="javascript:history.back()" >
            <span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>退出
        </button>
        <form action="#" id="fm">
			<table id="tab1" class="table table-hover table-striped fixed-table-container">
	         	<tr>
	         		<td>采购到货单</td>
	         		<td>
	         			<div class="form-group">
		         			<input class="form-control" id="prnum" name="prnum" value="${ProcurementRuku.prnum}" readonly/>
		         			<input type="hidden" id="prid" name="prid" value="${ProcurementRuku.prid}"/>
	         			</div>
	         		</td>
	         		<td>采购到货日期</td>
	         		<td>
	         			<div class="form-group">
	         		    	<input class="form_datetime form-control" type="text" id="prdate" name="prdate" readonly value="${ProcurementRuku.prdate}">
	         			</div>
	         		</td>
	         		<td>制单人</td>
	         		<td>
	         			<div class="form-group">
	         				<input class="form-control" id="making" name="making" value="${ProcurementRuku.making}" readonly/>
	         			</div>
	         		</td>
	         	</tr>
	         	<tr>
	         		<td>供应商</td>
	         		<td colspan="2">
	         			<div class="form-group">
	         				<select class="form-control selectpicker" id="supplierid" name="supplierid">
		         				<c:if test="${ProcurementRuku.supplier.supplierid != null && ProcurementRuku.supplier.supplierid != ''}">
			         				<option value="${ProcurementRuku.supplier.supplierid}">${ProcurementRuku.supplier.suppliername}</option>
		         				</c:if>
		         			</select>
		         		</div>
	         			<script type="text/javascript">
		         			$(function(){
			                    $.ajax({
					                type: "post",
					                url: "${pageContext.request.contextPath }/supplier/all.do",
					                dataType: 'JSON',
					                success: function (data) {
					                      //设置下拉列表中的值的属性
					                      for ( var i = 0; i < data.length; i++) {
						                        //增加下拉列表。
						                        $("#supplierid").append("<option value='"+data[i].supplierid+"'>"+data[i].suppliername+"</option>");
										 }
					                    //必须执行，否则数据添加失败
					                     $('#supplierid').selectpicker('refresh'); 
					                     //$('#supplierid').selectpicker('render'); 
					                }
					            });
			                });
			            	//思路如上。你可以将点击时将文本框中值传到后台，后台返回数据后，在将数据存入下拉列表对象中。
			        	</script>
	         		</td>
	         		<td>采购订单号</td>
	         		<td colspan="2">
	         			<div class="form-group">
		         			<select class="form-control selectpicker" id="porderid" name="porderid">
		         				<%-- <c:if test="${ProcurementRuku.order.id != null && ProcurementRuku.order.id != ''}">
		         					<option value="${ProcurementRuku.order.id}">${ProcurementRuku.order.number}</option>
		         				</c:if> --%>
		         				<c:if test="${ProcurementRuku.prid == null || ProcurementRuku.prid == ''}">
		         					<option value="0">请选择采购订单</option>
		         				</c:if>
		         			</select>
		         			<input type="hidden" id="poid" value="${ProcurementRuku.porderid}">
		         		</div>
	         			<script type="text/javascript">
			                $(function(){
			                    $.ajax({
					                type: "post",
					                url: "${pageContext.request.contextPath }/others/allOrder.do",
					                dataType: 'JSON',
					                success: function (data) {
					                      //设置下拉列表中的值的属性
					                      for ( var i = 0; i < data.length; i++) {
						                        //增加下拉列表。
						                        $("#porderid").append("<option value='"+data[i].id+"'>"+data[i].number+"</option>");
										 }
					                      
					                      var poid = 0
					                     if(null != $.trim($('#poid').val()) && ""!=$.trim($('#poid').val())){
					                    	 poid = $.trim($('#poid').val());
					                     }
					                      
					                     $('#porderid').selectpicker('refresh'); 
					                     $('#porderid').selectpicker('val', poid);//设置选中 
					                    //必须执行，否则数据添加失败
					                    /*  $('#porderid').selectpicker('refresh');  */
					                     //$('#porderid').selectpicker('render'); 
					                }
					            });
			                });
			            	//思路如上。你可以将点击时将文本框中值传到后台，后台返回数据后，在将数据存入下拉列表对象中。
			        	</script>
	         		</td>
	         		<%-- <td>审批人</td>
	         		<td>
		         		<div class="form-group">
		         			<input class="form-control" id="prpprover" name="prpprover" value="${ProcurementRuku.prpprover}"/>
		         		</div>
		         	</td> --%>
	         	</tr>
	         	<tr>
	         		<td colspan="6">
	         			<table id="tb_departments1"></table>
	         		</td>
	         	</tr>
	         </table>
	     </form>
    </div>
	
	<!-- 时间控件 -->
	<script type="text/javascript">
	    $(".form_datetime").datetimepicker({
			/* 显示格式 */       
	    	format: "yyyy-mm-dd",
	/*     	format: "yyyy-mm-dd hh:ii:ss", */
	        /* 完成关闭 */
	        autoclose: true,
	       /*  今天 时间按钮*/
	        todayBtn: true, 
	       /*  今天的时间变黄色 */
	        todayHighlight:true, 
	        /* 定位 */
	        pickerPosition: "bottom-left",
	        /* 最小值 */
	        /* startDate: "2013-02-14 10:00", */
	        minuteStep: 10,
	        /*  语言 */
	        language: 'zh-CN',  
			/* 分上午下午 */
	        showMeridian: true,
	        /* 分的所有 */
	        minuteStep:true,
	        clearBtn:true,// 自定义属性,true 显示 清空按钮 false 隐藏 默认:true
	        startView: 2,//月视图
			minView: 2//日期时间选择器所能够提供的最精确的时间选择视图
	    }).on('hide',function(e) {  
            $('#fm').data('bootstrapValidator')  
            .updateStatus('prdate', 'NOT_VALIDATED',null)  
            .validateField('prdate');  
    	});
	</script>
	<script type="text/javascript">
	$(function() {
		$("#fm").bootstrapValidator({
			feedbackIcons : {
				valid : 'glyphicon glyphicon-ok',
				invalid : 'glyphicon glyphicon-remove',
				validating : 'glyphicon glyphicon-refresh'
			},
			fields : {
				prnum : {
					validators : {
						notEmpty : {
							message : '到货单号不能为空'
						},
					}
				},
				prdate : {
					validators : {
						notEmpty : {
							message : '采购到货日期为空'
						},
					}
				},
				making : {
					validators : {
						notEmpty : {
							message : '制单人不能为空'
						},
					}
				},
				supplierid : {
					validators : {
						notEmpty : {
							message : '请选择供应商'
						},
					}
				},
				porderid : {
					validators : {
						notEmpty : {
							message : '请选择采购订单'
						},
					}
				},
				prpprover : {
					validators : {
						notEmpty : {
							message : '审批人不能为空'
						},
					}
				},
			},
			/* }); */
		}).on('success.form.bv',function(e) {
				e.preventDefault();
		});
	});
	</script>
</body>
</html>